package com.simple.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.simple.system.domain.dto.AddSysRoleDto;
import com.simple.system.domain.entity.SysRole;
import com.simple.system.domain.vo.SysRoleVo;
import com.simple.system.domain.dto.ListSysRoleDto;
import com.simple.system.domain.dto.UpdateRoleDto;

/**
 * @Description 角色表(SysRole)表服务接口
 * @Author xiaoke
 * @Date 2024/8/10 18:00
 * @Version 1.0
 */
public interface SysRoleService {
    /**
     * 分页获取角色列表
     * @param dto 请求参数
     * @return Page<SysRole>
     */
    Page<SysRole> list(ListSysRoleDto dto);

    /**
     * 根据Id获取角色
     * @param id 角色Id
     * @return SysRoleVo
     */
    SysRoleVo get(Long id);

    /**
     * 根据Id删除角色
     * @param id 角色Id
     * @return Boolean
     */
    Boolean delete(Long id);

    /**
     * 新增角色
     * @param dto 请求参数
     * @return 新增成功Id
     */
    Long insert(AddSysRoleDto dto);

    /**
     * 修改角色
     * @param id 角色Id
     * @param dto 请求参数
     */
    void update(Long id, UpdateRoleDto dto);
}

